home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue45 / System / UMain.pas < prev   
Encoding:
Pascal/Delphi Source File  |  2000-11-02  |  2.6 KB  |  110 lines

  1. unit UMain;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   ComCtrls, StdCtrls, ExtCtrls, ExBitmap;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Panel1: TPanel;
  12.     Flipped: TCheckBox;
  13.     Mirrored: TCheckBox;
  14.     LoadBtn: TButton;
  15.     Inverted: TCheckBox;
  16.     OpenDialog1: TOpenDialog;
  17.     BrightLabel: TLabel;
  18.     BrightBar: TTrackBar;
  19.     BlurBtn: TButton;
  20.     ScrollBox1: TScrollBox;
  21.     Image1: TImage;
  22.     procedure FormCreate(Sender: TObject);
  23.     procedure FormDestroy(Sender: TObject);
  24.     procedure BrightBarChange(Sender: TObject);
  25.     procedure PaintBox1Paint(Sender: TObject);
  26.     procedure FlippedClick(Sender: TObject);
  27.     procedure MirroredClick(Sender: TObject);
  28.     procedure InvertedClick(Sender: TObject);
  29.     procedure LoadBtnClick(Sender: TObject);
  30.     procedure BlurBtnClick(Sender: TObject);
  31.   private
  32.     { Private declarations }
  33.     bm: TExBitmap;
  34.   public
  35.     { Public declarations }
  36.   end;
  37.  
  38. var
  39.   Form1: TForm1;
  40.  
  41. implementation
  42.  
  43. {$R *.DFM}
  44.  
  45. procedure TForm1.FormCreate(Sender: TObject);
  46. begin
  47.     bm := TExBitmap.Create;
  48. end;
  49.  
  50. procedure TForm1.FormDestroy(Sender: TObject);
  51. begin
  52.     bm.Free;
  53. end;
  54.  
  55. procedure TForm1.BrightBarChange(Sender: TObject);
  56. begin
  57.     bm.Brightness := TExBrightness (BrightBar.Position);
  58.     BrightLabel.Caption := Format ('Brightness = %d', [bm.Brightness]);
  59.     Image1.Picture.Bitmap.Assign (bm);
  60. end;
  61.  
  62. procedure TForm1.PaintBox1Paint(Sender: TObject);
  63. begin
  64.     if not bm.Empty then Image1.Picture.Bitmap.Assign (bm);
  65. end;
  66.  
  67. procedure TForm1.FlippedClick(Sender: TObject);
  68. begin
  69.     bm.Flipped := Flipped.Checked;
  70.     Image1.Picture.Bitmap.Assign (bm);
  71. end;
  72.  
  73. procedure TForm1.MirroredClick(Sender: TObject);
  74. begin
  75.     bm.Mirrored := Mirrored.Checked;
  76.     Image1.Picture.Bitmap.Assign (bm);
  77. end;
  78.  
  79. procedure TForm1.InvertedClick(Sender: TObject);
  80. begin
  81.     bm.Inverted := Inverted.Checked;
  82.     Image1.Picture.Bitmap.Assign (bm);
  83. end;
  84.  
  85. procedure TForm1.BlurBtnClick(Sender: TObject);
  86. begin
  87.     Screen.Cursor := crHourGlass;
  88.     try
  89.         bm.GaussianBlur;
  90.     finally
  91.         Screen.Cursor := crDefault;
  92.     end;
  93.  
  94.     Image1.Picture.Bitmap.Assign (bm);
  95. end;
  96.  
  97. procedure TForm1.LoadBtnClick(Sender: TObject);
  98. begin
  99.     if OpenDialog1.Execute then begin
  100.         bm.LoadFromFile (OpenDialog1.FileName);
  101.         Image1.Picture.Bitmap.Assign (bm);
  102.         BrightBar.Position := bm.Brightness;
  103.         Mirrored.Checked := bm.Mirrored;
  104.         Flipped.Checked := bm.Flipped;
  105.         Inverted.Checked := bm.Inverted;
  106.     end;
  107. end;
  108.  
  109. end.
  110.